设备管理器的黄色感叹号只是入口;先打开设备“属性”的“常规”页,确认它确实是 Code 19,并记下发生错误的准确设备。扬声器无声、端点未选中、服务停止、硬件未连接和 Code 19 不是同一种故障。
安全边界: 不要运行注册表清理器,不要搜索后批量删除
KMIXER、Realtek、UpperFilters或LowerFilters,不要给Everyone完全控制权限,也不要从驱动镜像站下载包。先建立备份和恢复点,一次只处理一个已确认的设备或软件包。
Table of Contents
适用范围与旧系统边界
本文当前流程面向仍受支持的 Windows 11 版本,或组织明确仍支持的 Windows 版本。Windows XP 的扩展支持已于 2014 年结束;Windows 10 Home/Pro 的常规支持也已于 2025 年 10 月结束。LTSC、ESU 和受管设备以各自合同与生命周期为准。
2011 年原文中的 Microsoft Kernel Wave Audio Mixer 属于 Windows XP 时代的音频模型。Windows Vista 以后,Windows Audio Endpoint Builder 枚举并创建面向用户的音频端点;不要在现代 Windows 中期待完全相同的设备名称或注册表布局。
Code 19 实际表示什么
微软的当前说明是:Windows 无法启动该硬件,因为注册表中的配置信息不完整或损坏。可能原因包括:同一设备定义了多个服务、无法打开服务项,或无法从服务项取得驱动名称。
这说明故障位于设备安装/服务配置链,不证明某个包含 kmixer 或厂商品牌名的注册表项“多余”。现代音频栈可能同时包含:
- 总线、芯片组或 DSP/音频控制器驱动;
- 音频编解码器、USB、蓝牙、HDMI/DisplayPort 功能驱动;
- 上层/下层筛选驱动和 Audio Processing Object;
- Windows Audio 与 Windows Audio Endpoint Builder 服务;
- 扬声器、耳机、麦克风等端点。
删错类级筛选器、服务或驱动包,可能同时破坏多个设备。
改变系统前先建立恢复条件
- 备份需要保留的文件,并确认备份可读。
- 打开“创建还原点”,确认系统保护已启用,然后创建带日期和故障说明的还原点。还原点不是个人文件备份。
- 如果设备使用 BitLocker,确认恢复密钥可用;从 Windows 恢复环境执行系统还原时可能需要它。
- 记录 Windows 版本/内部版本、机器准确型号、最近的 Windows/驱动/音频软件变更和故障首次出现时间。
- 在设备管理器记录设备名称、设备状态全文、硬件 ID、驱动提供商、版本、日期、数字签名者和“事件”页时间线。
不要在还没有可用恢复点、OEM 驱动和回滚路径时卸载驱动包或修改注册表。
收集可复查的证据
设备管理器先定位准确层次
展开“声音、视频和游戏控制器”、“音频输入和输出”以及可能的“系统设备”。不要因为一个端点无声,就卸载所有音频项目。
| 观察 | 更可能的层次 | 下一步 |
|---|---|---|
| 设备明确显示 Code 19 | 设备安装、服务或筛选器配置 | 保存设备属性与 SetupAPI 日志,按 Code 19 路径处理 |
| 所有设备正常但没有声音 | 输出选择、静音、增强、格式、应用或服务 | 运行 Get Help 音频疑难解答,检查输出与服务 |
| 只有 HDMI/USB/蓝牙端点异常 | 对应显卡、USB 或蓝牙栈 | 只处理该路径的设备和 OEM 包 |
| 音频控制器完全消失 | 固件、芯片组、硬件或总线 | 查 OEM 诊断和固件设置,不做注册表清理 |
| 更新后立即发生 | 新驱动/组件包不兼容或安装未完成 | 优先检查回退驱动与安装日志 |
用只读 PowerShell 记录状态
在 PowerShell 中运行以下命令。它们只读取设备、已签名驱动和服务状态:
Get-PnpDevice -PresentOnly | Where-Object { $_.Class -in @('MEDIA','AudioEndpoint') } | Format-Table Status,Class,FriendlyName,InstanceId -AutoSize
Get-CimInstance Win32_PnPSignedDriver | Where-Object { $_.DeviceClass -eq 'MEDIA' } | Select-Object DeviceName,DriverProviderName,DriverVersion,DriverDate,Signer
Get-Service Audiosrv,AudioEndpointBuilder | Format-Table Status,Name,DisplayName -AutoSize
InstanceId、机器名、用户名和某些驱动路径可能属于资产信息;向论坛或厂商提交前应遮盖。不要把整份系统清单公开上传。
查看事件与设备安装日志
先记录故障时间,再查看系统事件中相邻的 Kernel-PnP、UserPnp 和 Service Control Manager 事件。Microsoft 还说明,setupapi.dev.log 会记录设备安装和签名问题;它位于 Windows 的 INF 目录。
Get-WinEvent -LogName System -MaxEvents 300 | Where-Object { $_.ProviderName -match 'Kernel-PnP|UserPnp|Service Control Manager' } | Select-Object TimeCreated,Id,LevelDisplayName,ProviderName,Message
notepad "$env:SystemRoot/INF/setupapi.dev.log"
在日志中以设备实例 ID 和故障时间为锚点,查找实际失败的 INF、服务或签名,而不是把每个警告都当原因。分享片段前遮盖设备实例 ID、用户路径、网络位置和组织名称。
当前 Windows 的安全修复顺序
每完成一步就重启或重新扫描并验证 Code 19、服务和声音;成功后停止,不要继续“清理”。
1. 排除普通的输出与连接问题
确认正确输出设备、音量、静音、音频增强、线缆/接口和应用内输出。Windows 11 先运行 Get Help 应用中的音频疑难解答。它不能证明 Code 19 已修复,因此之后仍要回到设备属性检查错误码。
2. 验证并重启音频服务
先确认 Windows Audio 和 Windows Audio Endpoint Builder 的状态。若设备正常而服务未正确启动,按微软音频说明在“服务”中一次重启一个音频服务并测试。不要更改服务账户、依赖项或启动类型,也不要删除服务项。
3. 若故障紧随更新,优先回退驱动
在准确设备的“属性 → 驱动程序”中选择“回退驱动程序”,前提是按钮可用且时间线吻合。记录回退前后的版本,并重启验证。不要为了获得旧版而从第三方镜像下载驱动。
4. 只重装已确认的设备
微软对 Code 19 的当前建议是卸载并重新安装该设备:
- 确认 OEM/Windows Update 中有适配准确机型、Windows 版本和架构的签名驱动。
- 在设备管理器中只选择显示 Code 19 的设备,执行“卸载设备”。
- 除非 OEM 或 Microsoft 的准确流程要求且替代包已验证,否则不要勾选删除驱动包的选项。
- 通过“操作 → 扫描检测硬件改动”或一次正常重启重新枚举。
- 核对驱动提供商、版本、数字签名、设备状态和 SetupAPI 的新时间段。
如果 OEM 音频包依赖芯片组、平台 DSP 或显卡音频组件,使用 OEM 针对该机型的安装顺序。不要对所有“声音”设备重复卸载。
5. 使用恢复点撤销已知的系统变化
如果 Code 19 从某次驱动、软件或配置变更后开始,而且重装准确设备无效,可选择故障发生前的系统还原点。先阅读将受影响的应用和驱动清单;系统还原会回退系统文件、注册表和已安装程序,但不能代替个人文件备份。恢复完成后重新安装当前安全更新并验证音频。
驱动来源与签名
首选顺序是 Windows Update、设备制造商对准确机型的支持页、以及硬件组件厂商在 OEM 明确允许时提供的官方包。Microsoft 明确建议避免从制造商官网以外的网站下载驱动。
保存下载页面、包版本、适用机型/硬件 ID、发布日期、文件哈希和数字签名者。签名只能证明发布者与完整性链的一部分,不能弥补型号或 Windows 版本不匹配。
不要使用:
- 驱动聚合器、镜像站、论坛附件或“万能声卡包”;
- 要求关闭驱动签名强制或安装测试证书的未知包;
- 从另一台机器复制的
.sys、INF 或注册表片段; - 承诺“一键修复”的注册表清理器或驱动更新器。
如果只有 XP/Vista 时代的未签名驱动,合理结论通常是迁移硬件或操作系统,而不是降低当前系统的安全策略。
注册表、服务与筛选器的边界
Windows 的 PnP 筛选器可附着在功能驱动的上层或下层;相应列表由 INF/安装程序维护。孤立或顺序错误的筛选器确实可能造成设备配置故障,但 UpperFilters、LowerFilters 是结构,不是“看到就删”的垃圾项。
安全处理原则:
- 先从 SetupAPI 日志和设备事件确认哪一个具体软件包或服务失败。
- 优先通过“设置 → 应用”、设备管理器或厂商卸载器移除造成问题的音频增强、虚拟音频、采集或旧驱动软件。
- 再安装同一发布者的修正版或 OEM 包,并验证签名与适用范围。
- 只有 Microsoft/OEM 支持人员针对准确设备和值给出书面步骤时,管理员才应导出准确项、修改一个命名值、重启验证并保留立即恢复的路径。
不要按关键词删除整个类项,不要给 Everyone 完全控制,不要取得系统项所有权,不要删除未知服务,也不要把其他设备类别的 CD/DVD “UpperFilters/LowerFilters 修复”套到音频设备。若无法把某个值对应到已知的签名驱动或卸载项,应停止并升级给厂商支持。
XP 时代硬件的安全迁移
Windows XP SP3 已停止支持;历史文章中的 UAA 补丁、KMIXER 批量删除和权限接管不是面向联网生产设备的当前路径。
- 先确认硬件厂商是否提供受支持 Windows 版本的驱动和固件;若没有,把它视为迁移约束。
- 优先更换为有当前签名驱动的音频接口或整机,而不是维持不受支持的内核驱动。
- 如果旧应用/设备暂时必须保留,隔离网络、限制数据交换、制作可恢复的整盘映像,并记录正版介质和授权;这只是风险隔离,不会让 XP 重新获得支持。
- 虚拟化可能保留旧应用,但不保证专用 PCI/音频硬件、时序或驱动能工作;先在副本上测试,不绕过软件授权。
- 迁移用户数据、工程文件和设置文档,不要把未知驱动二进制、激活材料或整套旧注册表带入新系统。
验证与回滚矩阵
| 改变 | 成功证据 | 停止条件 | 回滚 |
|---|---|---|---|
| Get Help/输出设置 | 正确端点播放,设备状态正常 | Code 19 仍在 | 保留设置证据,进入设备路径 |
| 重启音频服务 | 两个音频服务运行,播放/录音恢复 | 服务再次停止或依赖报错 | 重启系统,保存事件并升级处理 |
| 回退准确设备驱动 | Code 19 消失,版本与预期一致 | 更多设备异常或签名错误 | 使用“更新驱动程序”恢复 OEM/Windows Update 版本 |
| 卸载并重新枚举准确设备 | 设备以签名驱动重建且重启后稳定 | 找不到替代驱动、错误扩散 | 用恢复点或 OEM 包恢复 |
| 系统还原 | 恢复前已列出影响,恢复后设备和服务正常 | 恢复点过旧、BitLocker 密钥不可用、影响不可接受 | 取消;选择 Microsoft/OEM 支持路径 |
| 厂商指导的单值修复 | 日志所指问题消失且重启稳定 | 目标/值不明确或无导出备份 | 立即导入准确备份或使用系统还原 |
最后测试内置扬声器、耳机、麦克风以及实际使用的 HDMI/USB/蓝牙路径;再测试重启、睡眠/唤醒和一次 Windows 更新后的启动。确认设备管理器无 Code 19,服务保持运行,事件日志不再重复同一安装失败。
什么时候停止并求助
- 设备属于企业/学校,驱动、BitLocker 或安全策略受管理。
- Code 19 同时影响多个设备类别,或系统还出现启动、签名、文件系统错误。
- SetupAPI 指向未知/无签名筛选器、恶意软件嫌疑或无法验证的旧安全软件。
- 唯一可用驱动要求关闭安全功能,或 OEM 明确不支持当前系统。
- 没有备份、恢复点、BitLocker 恢复密钥或可验证的替代驱动。
保存去标识化的设备属性、日志时间段和已尝试步骤,交给设备 OEM、Microsoft 支持或组织 IT。不要通过扩大注册表删除范围来“试到成功”。
当前官方资料
- Microsoft:设备管理器错误代码(含 Code 19)
- Microsoft:修复 Windows 声音或音频问题
- Microsoft:通过设备管理器更新、回退或重装驱动
- Microsoft:SetupAPI 设备安装日志
- Microsoft:Windows 10/11 音频架构
- Microsoft:PnP 筛选驱动的安装模型
- Microsoft:系统保护与还原点
- Microsoft:Windows 备份、还原与恢复
- Microsoft 生命周期:Windows XP
- Microsoft 生命周期:Windows 10 Home/Pro
历史原文存档(2011,仅供考证)
警告与存档说明: 以下为
source_export的完整可见正文,仅规范化行尾空白,并把四个唯一的失效 HTTP 图片目标(共八处 URL)替换为标注占位符。原文包含批量删除注册表、取得受保护项权限并授予Everyone完全控制等高风险 XP 时代做法;纯文本围栏使其不成为当前可执行指南。未作其他删节或改写,原始 URL 仍保存在source_export/Git 来历中。
解决:microsoft kernel wave audio mixer 显示黄色感叹号,错误代码code 19
Table of Contents
Toggle
- [问题描述](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0)
- [原因分析](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90)
- [解决方案](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88)
- [后记](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E5%90%8E%E8%AE%B0)
## 问题描述
ThinkPad T400新装的正版 XP SP3, 在正确安装了官方驱动后有声音,但重启后就没有声音,进入设备管理器发现microsoft kernel wave audio mixer 显示黄色感叹号,错误代码code 19,开始几次只要更新驱动后就有声音,但后来更新驱动也没有声音了。
网上有说安装UAA补丁及更新驱动的方法,都不行!
## 原因分析
故障肯定来自于那些包含 KMIXER、Microsoft Kernel Wave Audio Mixer、Realtek 的注册表项。这些注册表里肯定有错误的设置。
## 解决方案
我删除了 KMIXER、Microsoft Kernel Wave Audio Mixer、Realtek 在注册表中的相关内容,但是我没有在注册表中搜索到Realtek High Definition Audio。
删除后,我直接重启电脑,发现Microsoft Kernel Wave Audio Mixer依然被自动安装上去,并且正常工作。接着,我重启两次后发现该驱动都被正常安装了。这个问题终于解决了!
**友情提示1:**
我第一次只删除了包含kmixer的项、包含kmixer(***kmixer***)的“值”和包含kmixer(***kmixer***)的数据的值,重启依旧不行。说明删除得不彻底。
**友情提示2:**
我当时删除包含 kmixer 的项、值、数据时,直接搜索 Microsoft Kernel Wave Audio Mixer 没有结果。
我发现 Microsoft Kernel Wave Audio Mixer 和 Kmixer(***kmixer***) 在同一个项里。所以我把只要包含kmixer(***kmixer***)的“项”全删除了。
[]([REDACTED: dead insecure image URL])
[]([REDACTED: dead insecure image URL])
第一次失败,因为我犯了两个错误:
1、删除得不彻底,只删除了kmixer项和包含kmixer的值,应该删除kmixer项和包含kmixer值的项,如下图所示,不仅要删除2和3,**应该删除1**。
2、遇到没有权限的项、值数据便跳过,我觉得其实最关键的就是那几个提示你没有权限的
例如:
我开始删除“项”{9B365890-165F-11D0-A195-0020AFD156E4}时,提示没有权限
[]([REDACTED: dead insecure image URL])
应该右键“项”{9B365890-165F-11D0-A195-0020AFD156E4},给“Everyone”添加权限“完全控制”
[]([REDACTED: dead insecure image URL])
## 后记
如果我没有记错的话,这问题确实从一开始安装XP时,就存在的。按道理说,系统的算法应该没有问题。我也是按照操作流程一步一步来的。居然会发生注册表信息写入不正确。难道说电脑也会偶尔出错?即便算法正确,用户输入的也相同?
因为声卡依赖的驱动是 Realtek 的驱动,Windows 本身并未提供 Realtek 驱动,只提供 Microsoft Kernel Wave Audio Mixer。
第一次配置声卡驱动时,Windows 由于上述原因按照错误的设置自动安装检测到的声卡,而只有一个 KMIXER 是不能完全驱动此声卡的。此错误的配置又反而影响了正确的声卡驱动的安装。问题估计就是这么阴差阳错引起的。
